/*!
 * \file MutualExcl.h
 * \brief Mutual exclusion objects' base class.
 * \author Nus
 * \date 2008/03/15 09:59
 */

#ifndef __MUTUALEXCL_H__
#define __MUTUALEXCL_H__

#include "Types.h"

/*!
 * \class MutualExcl
 * \brief Base class for mutual exclusion object.
 */
class MutualExcl
{
public:
  //! \brief Default constructor.
  MutualExcl()
      : mStatus(0)
  {
    // None...
  }

  //! \brief Default destructor.
  virtual ~MutualExcl() {
    // None...
  }

  //! \brief Get status.
  s32 getStatus(void) const {
    return mStatus;
  }

protected:
  s32 mStatus;                    //!< Status.

private:
  // None...

};

#endif
